פרק 6: מסכמים, בוררים, מפענחים דוגמת חיבור שני מספרים בינריים נשא (carry) + + מסכם בינרי מלא (FA) Full-Adder מבצע את החישוב עבור זוג סיביות: A מחוברים B נשא כניסה FA o סכום נשא יציאה
טבלת האמת של FA [out הוא מספר בן שתי סיביות המונה את מספר האחדים בכניסות, ] A B n out AB AB out מימוש (אפשרי) של FA = A' B' + A' B' + AB ' ' + AB out n = A B n n = AB+ A + B = AB+ = AB+ ( A B) n n n = AB+ ( AB+ A B) n n ( A+ ) n B n n = AB( + ) + ( A B) הביטויים המתאימים: n B A n AB out = AB + n (A B) A B FA A B n
כל דרגה A n- B n- B B B = A Rle arry Adder נשרשר n דרגות FA כדי לחבר שני מספרים בינריים בני n סיביות תחבר זוג סיביות עם הנשא מהדרגה הקודמת A A n- FA FA FA FA n =Overlow n- T RA =n זמן החישוב-כזמן התפשטות הנשא אם זמן חישוב נשא ב- FA הוא τ, זמן החישוב הכולל הינו nτ אם זמן החישוב של כל שער הוא יחידת זמן אחת ו =τ,אזי למעשה זמן החישוב של כל היחידות להוציא הראשונה הוא =τ, והזמן הכולל הוא T RA =(n-)+=n+ n 5 arry Look-Ahead Adder + = A B + = A + B = g + ( A B ) g = A B + = g + = g + g + = g = G + + P g + g arry Look-Ahead מיועד לקצר את זמן החשוב הכולל של חבור שני מספרים בני סיביות במחבר הסדרתי קיבלנו: נרשום את פונקציות יצירת הנשא :(roagate) והעברתו (generate) + = g אם במקום ה- נוצר נשא תלות בנשא הנכנס = אם = נקבל: g + עוד פעמיים: ללא 6
arry Look-Ahead Adder,,, ואיננו תלוי ב- תלוי בפונקציות P,G וב- נניח שהכניסות B A, מגיעות כולן בתחילת החישוב המחבר יהיה מחולק ליחידות בנות ארבעה FA כל אחת בכל יחידה נחשב את P G, (כפונקציה של B) A, ונמתין להגעת כאשר הנשא יגיע, נותר רק לבצע שתי פעולות,AN) (OR ולקבל את הנשא היוצא הדרושים,, ואת,,, במקביל תחשב היחידה את לחישוב הסכומים A B A B A B A B GP FA FA FA FA 7 τ זמן החישוב של המחבר מחבר של n סיביות - n/ יחידות LA נניח: זמן החישוב של P G, הוא τ,, ע"י FA הוא τ, זמן החישוב של זמן החישוב של שערי OR,AN הוא כ"א שלבי החישוב: בתחילה, במשך τ, מחשבות כל היחידות את P G, אח"כ, במשך, n/=n/ מחושבים כל ערכי שבין היחידות, עד לנשא האחרון במקביל, כל יחידה שמקבלת את בכניסתה מחשבת את ערכי שלה במשך τ n n + = τ היחידה האחרונה מקבלת את לאחר + 8
זמן החישוב של המחבר (המשך) היחידה האחרונה משלימה את החישוב לאחר עוד τ זמן החישוב הכולל הוא יחידות T LA n = + τ + τ עבור n גדול מספיק (נניח מעל 6) האיבר הדומיננטי בביטוי הוא /n Rle arry Adder קטן פי מזמן החישוב של /n כך, במחיר של סיבוך הלוגיקה הישגנו את האצת החישוב 9 בורר mux elector / multlexer / o,,, m קלט: M כניסות בקרה o,,, n m כניסות נתונים n = elector '' כניסת enable = אז פלט: אם n- n- m אחרת הסיבית הינו המספר שיצוגו הבינרי מופיע ב- m סיביות הבקרה 5
בורר מימוש אפשרי: והביטוי הלוגי (עבור בורר) z = o o + o + o + o 7 6 5 nable בורר של 8 כניסות: ' 6
כניסות הבקרה כוללות מהפכים מיותרים לכאורה (מבחינה לוגית) מהפכים אלו, המשמשים כ"חוצצים", מיועדים להציג לכניסה "עומס" של שער יחיד בלעדיהם היתה כניסת nable,למשל, מחוברת לשמונה שערים פנימייםהחוצצים מקלים את מלאכת התכנון: המהנדס המשתמש בבורר יכול להניח שכל כניסה שלו מזינה שער פנימי אחד בלבד ממוש פונקציות באמצעות בוררים לדוגמא, עבור בורר ללא enable,הפונקציה הממומשת היא z = + o אם נציב = B, o = B, = A נקבל z = AB + AB = A B קיבלנו ממוש :XOR B A 7
נראה שיחד עם הקבועים, נקבל מערכת שלמה: z = AB + A = A B = B o =, = A אם נציב, נקבל : B A קיבלנו ממוש :AN וכן A A בדקו בבית: האם בורר בלבד מהווה מערכת פעולות שלמה? בורר עם ''? בורר עם ''? 5 נראה כיצד ניתן לממש פונקציה של n משתנים באמצעות בוררים הפונקציה נממש לדוגמא את ( w, x, t, z) = (,, 9,, ), 6 8
w x y z בורר 6 = w = x o = y o = z = = = = = = 5 8 = בורר w = = x o = = = = z z y = z = 5 = 6 = 7 z ממוש פונקציות באמצעות בוררים מימוש ישיר ללא משתני מפה: מימוש עם בורר בעל פחות מ- n כניסות ועם משתני מפה: z' z z' z w x y 7 6 5 MUX 8 5 9 8 7 6 5 w x y MUX 6 z 8 9
מפענח ecoder d o, d,, d m כניסות בקרה m קלט: כניסת nable m F F F ecoder F n- F n- o,,, n = = m n m פלט: n יציאות אם nable= לכל אם nable=, כאשר הוא המספר הבינרי המיוצג ע"י כניסות הבקרה, וכל שאר היציאות הן זהו מפענח (אפשר להתייחס למפענח כאל, emultlexer כאשר הוא בעצם כניסת המידע ) 9 מימוש ecoder
מימוש פונקציה באמצעות מפענח ( A, B,, ) = (, 5, 9 5), A B decoder 6 5 9 (A,B,,)=Σ(,5,9,5) nable 5 הקשר בין בורר למפענח n- הדמיון בממוש: ניתן לממש :ecoder תוך שמוש ב- elector s s s m- ecoder n-
העברת מידע באמצעות בורר למפענח n termnals בורר ומפענח מבצעים פעולות הפוכות אנו נשתמשים בכניסת ה- nable של ה- ecoder ככניסת :ata s s s s m- m- n- selector multlxe / r z n ecoder / demultlexer n- communcaton lne המידע מן המסוף שנבחר יגיע למחשב המתאים, אם הכתובות (כניסות הבקרה) המוזנות לבורר ולמפענח הן תואמות n omuters סיבוכיות הבורר בורר בעל +n כניסות בקרה ו- =K n כניסות נתונים מכיל : (n+) מהפכים AN שערי +n כניסות כ"א (השקולים ל- בעלי +n AN שערי n בעלי שתי כניסות כ"א וביחד (+n) n שערים n כניסות השקול ל - n שערים בעלי שתי כניסות שער OR בעל סה"כ, מחירו של הבורר הוא שערים K) (n+) n +n+=o(n n )=O(K log
סיבוכיות המפענח מפענח בעל +n כניסות ו- =K n יציאות מכיל: nמהפכים n שערי AN בעלי +n כניסות כ"א (השקולים ל- n שערי AN בעלי שתי כניסות כ"א) וביחד n n שערים סה"כ, מחירו של הבורר הוא K) n n +n=o(n n )=O(K log שערים 5